export interface NavList {
  id: number;
  name: string;
  targetUrl?: string;
  category?: string;
}

export interface Good {
  id: number;
  image: string;
  name: string;
  price?: number;
}

export interface GoodList {
  id: number;
  category: string;
  goods: Good[];
}

export interface SideNavListType extends NavList {
  category: string;
  childrenList: {
    id: number;
    goodList: Good[];
  }[];
}

export interface ChannelListType {
  id: number;
  name: string;
  image: string;
  targetUrl: string;
}

export interface EntryListType {
  id?: number;
  image: string;
  targetUrl: string;
  alt?: string;
}

export type BannerListType = {
  hrefUrl: string;
  imageUrl: string;
};

export interface TabLisType {
  id: number;
  tabName: string;
  activeTab: string;
}

export interface SonType {
  id?: number;
  name: string;
  price: number;
  image: string;
  targetUrl: string;
  product_id: number;
  unit1?: string;
  delete?: number;
  unit2?: string;
}

export interface OpenMoreType {
  keyword: string;
  category: string;
  targetUrl: string;
}

export interface ChildType extends SonType {
  describe: string;
  delete?: number;
  unit2?: string;
}

export interface ChildrenListType {
  id: number;
  category: string;
  children: ChildType[];
}

export interface SonListType {
  id: number;
  category: string;
  son?: SonType;
  openMore?: OpenMoreType;
}

export interface GoodInfoListType {
  title: string;
  entry?: EntryListType;
  entries?: EntryListType[];
  tabList: TabLisType[];
}

export interface ServiceList {
  id: number;
  name: string;
  icon: string;
  link: string;
}
